package com.rybbaby.tss.front.tssClasses.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.Date;

/**
 * @description 班级变动试图
 *
 * @author 杨然
 *
 * @createDate 2017年11月8日17:42:59
 */
@Entity
@Table(name = "view_classes_change")
@DynamicUpdate(true)
@DynamicInsert(true)
public class ViewClassesChange {

    private static final long serialVersionUID = 8548032040830791270L;

    //主键
    private String classesId;

    //班级名称
    private String className;

    //课程名称
    private String courseName;

    //学期
    private String term;

    //课程开始日期
    private Date startDate;

    //课程结束日期
    private Date endDate;

    //上课时间
    private Date startTime;

    //周几上课
    private Integer weekDay;

    //上课教室
    private String classesName;

    //授课老师
    private String realName;

    //课程次数
    private Integer pitchNumber;

    //剩余次数
    private Integer surplusPitchNumber;

    //单节消耗课时
    private Integer expendClassHour;

    //创建人
    private String founder;

    //创建日期
    private Date createTime;

    //类型(1:亲子班级变动 2:过渡班级变动)
    private Integer type;

    /**
     * 生成各属性的get方法
     * */
    @Id
    @GeneratedValue(generator = "view_classes_changeIDGenerator" , strategy = GenerationType.AUTO)
    @GenericGenerator(name = "view_classes_changeIDGenerator" , strategy = "uuid")
    @Column(name = "classesId", nullable= false, length = 32)
    public String getClassesId() {return classesId; }

    @Column(name = "className", nullable= true, length = 50)
    public String getClassName() {
        return className;
    }

    @Column(name = "courseName", nullable= true, length = 50)
    public String getCourseName() {
        return courseName;
    }

    @Column(name = "term", nullable= true, length = 50)
    public String getTerm() {
        return term;
    }

    @Column(name = "startDate", nullable= true, length = 50)
    public Date getStartDate() {
        return startDate;
    }

    @Column(name = "endDate", nullable= true, length = 50)
    public Date getEndDate() {
        return endDate;
    }

    @Column(name = "startTime", nullable= true, length = 50)
    public Date getStartTime() {
        return startTime;
    }

    @Column(name = "weekDay", nullable= true, length = 50)
    public Integer getWeekDay() {
        return weekDay;
    }

    @Column(name = "classesName", nullable= true, length = 50)
    public String getClassesName() {
        return classesName;
    }

    @Column(name = "realName", nullable= true, length = 50)
    public String getRealName() {
        return realName;
    }

    @Column(name = "pitchNumber", nullable= true, length = 50)
    public Integer getPitchNumber() {
        return pitchNumber;
    }

    @Column(name = "surplusPitchNumber", nullable= true, length = 50)
    public Integer getSurplusPitchNumber() {
        return surplusPitchNumber;
    }

    @Column(name = "expendClassHour", nullable= true, length = 50)
    public Integer getExpendClassHour() {
        return expendClassHour;
    }

    @Column(name = "founder", nullable= true, length = 50)
    public String getFounder() {
        return founder;
    }

    @Column(name = "createTime", nullable= true, length = 50)
    public Date getCreateTime() {
        return createTime;
    }

    @Column(name = "type", nullable= true, length = 10)
    public Integer getType() {return type; }

    /**
     * 生成各属性set方法
     * */

    public void setClassesId(String classesId) {
        this.classesId = classesId;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public void setTerm(String term) {
        this.term = term;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public void setWeekDay(Integer weekDay) {
        this.weekDay = weekDay;
    }

    public void setClassesName(String classesName) {
        this.classesName = classesName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public void setPitchNumber(Integer pitchNumber) {
        this.pitchNumber = pitchNumber;
    }

    public void setSurplusPitchNumber(Integer surplusPitchNumber) {
        this.surplusPitchNumber = surplusPitchNumber;
    }

    public void setExpendClassHour(Integer expendClassHour) {
        this.expendClassHour = expendClassHour;
    }

    public void setFounder(String founder) {
        this.founder = founder;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public void setType(Integer type) {this.type = type; }

}
